package com.sky.service;

import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;

import java.util.List;

/**
 * @Author 梁科
 * @Version 1.0
 * @ Date 2025/10/19 11:56
 */
public interface CategoryService {
    /**
     * 条件分页查询
     * @param categoryPageQueryDTO
     * @return
     */
    List<Category> pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);

    /**
     * 新增菜品/套餐分类
     * @param categoryDTO
     */
    void saveCategory(CategoryDTO categoryDTO);

    /**
     * 根据分类类型查询
     * @param type
     * @return
     */
    List<Category> queryByCategory(Integer type,String name);

    /**
     * 修改分类信息
     * @param categoryDTO
     */
    void update(CategoryDTO categoryDTO);

    /**
     * 修改分类启用还是禁用
     * @param status
     * @param id
     */
    void updateStatus(Integer status, Integer id);

    /**
     * 删除分类
     * @param id
     */
    void deleteCategory(Long id);

    /**
     * 增加菜品时，根据类型查询所有菜品/套餐
     * @param type
     * @return
     */
    List<Category> saveDishByCategory(Integer type);

    /**
     * 用户端显示显示分类信息
     * @param type
     * @return
     */
    List<Category> queryDishOrSetmealByCategory(Integer type);
}
